package org.gap.jseed.threading.annotation;

import java.lang.reflect.InvocationHandler;

import org.gap.jseed.threading.SwingInvokeAndWaitProxy;
import org.gap.jseed.threading.SwingInvokeLaterProxy;

public enum Swing {
	INVOKE_AND_WAIT {
		@Override
		public String getFieldName() {
			return "swingInvokeAndWaitProxy";
		}
		@Override
		public Class<? extends InvocationHandler> getProxyClass() {
			return SwingInvokeAndWaitProxy.class;
		}
	}, INVOKE_LATER {
		@Override
		public String getFieldName() {
			return "swingInvokeLaterProxy";
		}

		@Override
		public Class<? extends InvocationHandler> getProxyClass() {
			return SwingInvokeLaterProxy.class;
		}
	};

	public abstract String getFieldName();
	public abstract Class<? extends InvocationHandler> getProxyClass();
}
